Collaborative product development is a product development process in which the entire product development team (e.g., designers, engineers, customers, suppliers, business partners, etc.) can readily exchange information about the product throughout its entire life cycle. The collaborative product development process can encompass requirements definition, design and analysis, manufacturing planning, product data management, and collaborative commerce (enhanced business-to-business interaction and cooperation) for the product involved. Taking advantage of the enhanced flexibility and increased resources provided through collaborative product development processes, business entities can develop higher quality products than their competitors and deliver them to market faster.
Fundamental to quality improvement and increased productivity of collaborative product development processes is the need for an effective decision-making and propagation mechanism (vehicle for making and carrying out decisions). In collaborative product development, the inputs to and drivers of the decision-making part of the process (so-called “decision-drivers”) are numerous and diverse. For example, automotive industry decision-drivers can include, but are not limited to, option selections (e.g., V8 versus V6 engine), equality relations (e.g., hole size=pin size+5 mm), dependencies (e.g., assemble part A before part B), production rules (e.g., if engine=V8, add fan), logical relations (e.g., product must contain either part A or parts B and C), conditional relations (e.g., if loading capacity>X, use roller bearing; or else, use ball bearing), inequality expressions (e.g., total cost<1000 dollars), and geometric constraints (e.g., two rows of seats must be 30 inches apart). In collaborative product development, such decision-drivers are inputs to the decision-making process that originate from numerous, diverse sources.
A significant problem with supporting the numerous, diverse types of decision-drivers in collaborative product development is that the different input drivers interact with each other and thus each one cannot be independently resolved. As such, there is no existing technique that can integrate these diverse input drivers and obtain an optimum solution in a way that violates no imposed constraints. Furthermore, in a practical industrial environment, a relatively large set of these input drivers (e.g., thousands) typically have to be addressed all at the same time. Consequently, a significant challenge in collaborative product development is to be able to formulate optimal decisions efficiently and resolve all conflicts in a reasonable way.